home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -websites- / imagine / arexx / mpwe.lha / MakePathWithEdges.irx
Text File  |  1997-04-12  |  3KB  |  111 lines

  1. /*==============================================================================
  2.  
  3.     $VER: MakePathWithEdges.irx 0.1 (20.01.97)
  4.     ©     : NasGûl
  5.                 nasgul@faws.org
  6.     Auteur: André Capus
  7.     Usage : Interne Imagine
  8.  
  9.     Commandes AmigaDos:
  10.     Libraries Arexx:
  11.     Commentaires:
  12.  
  13.  
  14.  
  15.                      ©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  16.                      ©       ©©     ©©  ©©©©  ©©     ©©
  17.                      ©  ©©©©©©  ©©©  ©  ©  ©  ©  ©©©©©©
  18.                      ©     ©©©       ©  ©  ©  ©©     ©©
  19.                      ©  ©©©©©©  ©©©  ©        ©©©©©©  ©
  20.                      ©  ©©©©©©  ©©©  ©©  ©©  ©©©     ©©
  21.                      ©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  22.  
  23.                          (French Amiga Web Server)
  24.  
  25.                                nasgul@faws.org
  26.                              http://www.faws.org
  27.  
  28.  
  29.  
  30. ==============================================================================*/
  31.  
  32. /*=== name of oublic screen of Imagine ===*/
  33. psname=GetEnv(IMAGINE_PSNAME)
  34.  
  35. Address 'Imagine.1'
  36. 'DISPLAYREXXPTR ON'
  37.  
  38. 'GETGEOMETRY'
  39. if EDGE_NUM='EDGE_NUM' then
  40.     do
  41.         'NOTIFY You Must select an object !'
  42.         'DISPLAYREXXPTR OFF'
  43.         Call PostMsg()
  44.         'DISPLAYREDRAW'
  45.         Exit
  46.     end
  47. 'UNPICK'
  48. 'MULTIPICKOFF'
  49. nbrsedg=Compress(EDGE_NUM,'0'x)
  50.  
  51. DO i=1 TO nbrsedg
  52.  
  53.     num_fpts=compress(EDGE_1.i,'0'x)
  54.     fpts_x=Compress(PNT_X.num_fpts,'0'x)
  55.     fpts_y=Compress(PNT_Y.num_fpts,'0'x)
  56.     fpts_z=Compress(PNT_Z.num_fpts,'0'x)
  57.  
  58.     num_spts=Compress(EDGE_2.i,'0'x)
  59.     spts_x=Compress(PNT_X.num_spts,'0'x)
  60.     spts_y=Compress(PNT_Y.num_spts,'0'x)
  61.     spts_z=Compress(PNT_Z.num_spts,'0'x)
  62.  
  63.     vector_x.i=spts_x-fpts_x
  64.     vector_y.i=spts_y-fpts_y
  65.     vector_z.i=spts_z-fpts_z
  66.  
  67.     distance=trunc(sqrt((spts_x-fpts_x)**2+(spts_y-fpts_y)**2+(spts_z-fpts_z)**2),4)
  68.  
  69.     'CALC_VECTORALIGNMENT 'vector_x.i' ' vector_y.i' 'vector_z.i''
  70.  
  71.     'ADDAXIS'
  72.     'PICK'
  73.     'SELECT'
  74.     'GETATTRIBUTES OBJECTNAME'
  75.     ATTRIB.OBJECTNAME='PATH_AXIS.'i
  76.     'SETATTRIBUTES OBJECTNAME'
  77.     'DISPLAYSTOPREDRAW'
  78.     'TRANSFORM_ALIGNMENT 'IMAGINEVEC.0' 'IMAGINEVEC.1' 'IMAGINEVEC.2
  79.     TRANSFORM_POSITION fpts_x fpts_y fpts_z
  80.  
  81.     'UNPICK'
  82. END
  83. 'SELECT HOME'
  84. 'PICK'
  85. 'GETATTRIBUTES OBJECTNAME'
  86. ATTRIB.OBJECTNAME='PATH_AXIS_GABA'
  87. 'SETATTRIBUTES OBJECTNAME'
  88. 'SELECT NEXT'
  89. 'MULTIPICKON'
  90. DO i=1 TO nbrsedg
  91.     'PICK'
  92.     'SELECT NEXT'
  93. END
  94. 'UNPICK SELECT'
  95. type=Request(100,100,'Quel type pour ce path',,'Ouvert','Fermer',psname)
  96. if type='OKAY' then
  97.     'MAKEPATH'
  98. else
  99.     'MAKECLOSEDPATH'
  100. 'GETATTRIBUTES OBJECTNAME'
  101. newname=Request(100,100,'nom pour ce Path','',,,psname)
  102. ATTRIB.OBJECTNAME=newname
  103. 'SETATTRIBUTES OBJECTNAME'd
  104. 'MULTIPICKOFF'
  105. 'DISPLAYREXXPTR OFF'
  106. 'KEY_SPACE'
  107. exit
  108.  
  109.  
  110.  
  111.